return {
    run = function()
        InitWindow(cfg.width, cfg.height, cfg.window_title)
        SetTargetFPS(cfg.fps)

        local text = "Congrats! You created your first window!"
        local text_font_size = 20
        local text_width = MeasureText(text, text_font_size)

        while not WindowShouldClose() do
            BeginDrawing()
            ClearBackground(RAYWHITE)
            DrawText(text, (cfg.width - text_width) * 0.5, (cfg.height - text_font_size) * 0.5, 20, LIGHTGRAY)
            EndDrawing()
        end

        CloseWindow()
    end
}
